"""8.6 类的封装
一)封装的定义：
    1）封装是面向对象的三大特征之一
    2）封装是指将对象的状态信息隐藏在对象内部，不允许外部程序直接访问对象内部信息，而是通过该类所提供的方法来实现对内部信息的操作和访问
    3）封装的优点：
二）python访问的控制方式
    1）python中没有像java一样的public、private、protected等访问控制符
    2）python中使用下划线来表示访问控制级别
    3）下划线的含义：
        1）单下划线：_name 表示保护类型的成员，只允许类本身和子类访问，不允许外部程序直接访问
        2）双下划线：__name 表示私有类型的成员，只允许类本身访问，不允许外部程序直接访问
        3）单下划线和双下划线的区别：
            1）单下划线表示保护类型的成员，只允许类本身和子类访问，不允许外部程序直接访问
            2）双下划线表示私有类型的成员，只允许类本身访问，不允许外部程序直接访问
        4）单下划线和双下划线的使用场景：
            1）单下划线表示保护类型的成员，只允许类本身和子类访问，不允许外部程序直接访问

"""

class Person:
    def __init__(self,name,age):
        self._name=name #protected类型的成员，只允许类本身和子类访问，不允许外部程序直接访问
        self.__age=age #private类型的成员，只允许类本身访问，不允许外部程序直接访问
    def get_age(self):
        return self.__age
#创建对象
p=Person("张三",25)
print("保护类型的属性:",p._name)
print("私有的类型的属性:",p.get_age())